package problem;

import problem.model.Constraint;
import problem.model.ObjFn;
import problem.model.Problem;
import problem.model.Variable;
import problem.model.Constraint.TypeConstraint;
import problem.model.ObjFn.TypeObjFn;
import problem.model.Variable.TypeEnum;

public class TestProblem extends Problem {

	public TestProblem() {
		super(2);

		this.addVariable(new Variable(TypeEnum.Real, 0, "x"));		this.addVariable(new Variable(TypeEnum.Real, 1, "y"));

		Constraint unA = new Constraint("1a", TypeConstraint.LE, 15000);
		unA.addVar(120, 1);
		unA.addVar(210, 2);
		this.addConstraint(unA);

		Constraint unB = new Constraint("1b", TypeConstraint.LE, 4000);
		unB.addVar(110, 1);
		unB.addVar(30, 2);
		this.addConstraint(unB);

		Constraint unC = new Constraint("1c", TypeConstraint.LE, 75);
		unC.addVar(1, 1);
		unC.addVar(1, 2);
		this.addConstraint(unC);

		ObjFn objFn = new ObjFn(TypeObjFn.Max);
		objFn.addVar(143, 1);
		objFn.addVar(60, 2);
		this.setObjectivfunction(objFn);
	}
}
